|
|
|
|
|
|
| |
| |
|
|
From: Johnny Smith
Subject: question: need 2 curve memory req's for scene...
Date: 29 Oct 2000 01:10:08
Message: <39fbb130@news.povray.org>
|
|
|
| |
| |
|
|
I'm using an image AS a heightfield in several different places within a
scene.
Each time I use it..I must read it in...each time I do..it requires more and
more
memory... Any way to read ONCE...and then assign something to it?
I guess the equivalent would be a pointer C/C++
This is used to create my RUG on the floor...
height_field { png "E:\Gizmo-sick\ceiling2.png" // smooth
scale <4, .19, 2>
texture { Carpet scale .7 finish { ambient .5 } }
rotate <180, 0, 0>
translate < -3.2, -0.809, 7.2> // Center around origin
}
Now...to create my ceiling...I use the same image...
height_field
{
png "ceiling2.png" smooth
rotate z*180 //flip it over so the points are facing the floor
translate <0.5, 103, -0.5>
scale <39.0, 0.06, 30.0>
texture { pigment { White } }
}
I would rather not have to duplicate this image map
in memory if I could avoid it...anybody have any ideas????
Thanks
Johnny
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Johnny Smith wrote:
>
> I'm using an image AS a heightfield in several different places within a
> scene.
> Each time I use it..I must read it in...each time I do..it requires more and
> more
> memory... Any way to read ONCE...and then assign something to it?
> I guess the equivalent would be a pointer C/C++
>
Just declare it and use a reference each time:
#declare HF=height_field { png "E:\Gizmo-sick\ceiling2.png" }
object {
HF
scale <4, .19, 2>
texture { Carpet scale .7 finish { ambient .5 } }
rotate <180, 0, 0>
translate < -3.2, -0.809, 7.2> // Center around origin
}
Christoph
--
Christoph Hormann <chr### [at] gmxde>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
|
| |
| |
|
|
From: Johnny Smith
Subject: Re: question: need 2 curve memory req's for scene...
Date: 29 Oct 2000 02:11:28
Message: <39fbcda0@news.povray.org>
|
|
|
| |
| |
|
|
"Christoph Hormann" <Chr### [at] schunteretctu-bsde> wrote in
message news:39FBC845.A7362BB5@schunter.etc.tu-bs.de...
> Johnny Smith wrote:
> >
> > I'm using an image AS a heightfield in several different places
within a
> > scene.
> > Each time I use it..I must read it in...each time I do..it requires more
and
> > more
> > memory... Any way to read ONCE...and then assign something to it?
> > I guess the equivalent would be a pointer C/C++
> >
>
> Just declare it and use a reference each time:
>
> #declare HF=height_field { png "E:\Gizmo-sick\ceiling2.png" }
>
> object {
> HF
> scale <4, .19, 2>
> texture { Carpet scale .7 finish { ambient .5 } }
> rotate <180, 0, 0>
> translate < -3.2, -0.809, 7.2> // Center around origin
But every time I use it..in otherwords...I write object { HF }
it will load ANOTHER copy right? Meaning..for each oject...
the memory requirements will double...
I guess what I'm trying to say is there is no way to get/force povray
to only load ONCE the image "E:\Gizmo-sick\ceiling2.png"
and then all subsequent uses refer to that ONE instance only?
Johnny
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Johnny Smith wrote:
>
> But every time I use it..in otherwords...I write object { HF }
> it will load ANOTHER copy right? Meaning..for each oject...
> the memory requirements will double...
No :-)
Just try it out and have a look at the memory stats
Christoph
--
Christoph Hormann <chr### [at] gmxde>
Homepage: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Sun, 29 Oct 2000 00:07:42 -0500, "Johnny Smith"
<joh### [at] homecom> wrote:
>
> I'm using an image AS a heightfield in several different places within a
>scene.
>Each time I use it..I must read it in...each time I do..it requires more and
>more
>memory... Any way to read ONCE...and then assign something to it?
>I guess the equivalent would be a pointer C/C++
Try declaring it and then reusing it. Meshes work this way but whether
this holds for HFs I can't say right now. Do a test and see.
As a side note, if using pre-declared HFs indeed makes copies of them,
would it be too hard to make POV do it the mesh way?
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] usanet
TAG e-mail : pet### [at] tagpovrayorg
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Peter Popov wrote:
>
> On Sun, 29 Oct 2000 00:07:42 -0500, "Johnny Smith"
> <joh### [at] homecom> wrote:
>
> >
> > I'm using an image AS a heightfield in several different places within a
> >scene.
> >Each time I use it..I must read it in...each time I do..it requires more and
> >more
> >memory... Any way to read ONCE...and then assign something to it?
> >I guess the equivalent would be a pointer C/C++
>
> Try declaring it and then reusing it. Meshes work this way but whether
> this holds for HFs I can't say right now. Do a test and see.
>
> As a side note, if using pre-declared HFs indeed makes copies of them,
> would it be too hard to make POV do it the mesh way?
It already does. I have used multiple (1000's) of HF's in a single scene
that used very little memory.
--
Ken Tyler - 1400+ POV-Ray, Graphics, 3D Rendering, and Raytracing Links:
http://home.pacbell.net/tylereng/index.html http://www.povray.org/links/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Sun, 29 Oct 2000 06:24:35 -0800, Ken <tyl### [at] pacbellnet> wrote:
>> As a side note, if using pre-declared HFs indeed makes copies of them,
>> would it be too hard to make POV do it the mesh way?
>
>It already does. I have used multiple (1000's) of HF's in a single scene
>that used very little memory.
I guessed that much but I really had no time to test it, thanks Ken.
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] usanet
TAG e-mail : pet### [at] tagpovrayorg
Post a reply to this message
|
|
| |
| |
|
|
From: Johnny Smith
Subject: Re: question: need 2 curve memory req's for scene...
Date: 30 Oct 2000 23:23:15
Message: <39fe4933$1@news.povray.org>
|
|
|
| |
| |
|
|
> >> As a side note, if using pre-declared HFs indeed makes copies of them,
> >> would it be too hard to make POV do it the mesh way?
#declare HF = height_field { .... }
This worked by the way...
declared it ONE time...made all refernences to it as:
object { HF translate<. . .> rotate <. . .> etc }
Memory requirements dropped by 1/2.
(50+meg to 25+ meg)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |