![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I'm not sure if I'm posting this in the right place - let me know.
I want to do an animation that I think would be quite difficult to do
because it would take to long to render. It involves a scene going through a
forest. I've been thinking it might be plausible in this way: If I have a
highly detailed scene and a low detail scene and merge the two in such a way
that only the nearby stuff are rendered in detail, the rest of the rendering
would be on the low detail scene.
Maybe I can explain it like this: If there was an 'invisible' sphere around
the camera that clips the detailed scene to show only the near stuff and at
the same time clipping the low detail scene to cut out the near stuff,
wherever the camera goes. The other problem would be that there would
probably be a visible edge where the high and low detail scenes meet and
some sort of fading/transparency or blurring would be needed to make it look
good.
Is this plausible and is there someone that could make a macro like this for
me?
Thank you,
Gerhard
--
_______________________
J-Print
"We set the pace in colour"
329 Pretorius St., Pretoria
Momentum City Walk
(Opposite State Theatre)
Tel: 012 - 320 7250
Tel & Fax: 012 - 322 3877
Cell: 082 853 4711 - Nici
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nekar Xenos wrote:
>
> I'm not sure if I'm posting this in the right place - let me know.
>
> I want to do an animation that I think would be quite difficult to do
> because it would take to long to render. It involves a scene going through a
> forest. I've been thinking it might be plausible in this way: If I have a
> highly detailed scene and a low detail scene and merge the two in such a way
> that only the nearby stuff are rendered in detail, the rest of the rendering
> would be on the low detail scene.
>
> Maybe I can explain it like this: If there was an 'invisible' sphere around
> the camera that clips the detailed scene to show only the near stuff and at
> the same time clipping the low detail scene to cut out the near stuff,
> wherever the camera goes. The other problem would be that there would
> probably be a visible edge where the high and low detail scenes meet and
> some sort of fading/transparency or blurring would be needed to make it look
> good.
>
Since i don't know any applicable method to 'fade' objects i see no way to
avoid this visible border. But if you do something like a forest, you
could use a low detailed and high detailed version of the single trees
depending on the distance to the camera.
Christoph
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Since i don't know any applicable method to 'fade' objects i see no way to
> avoid this visible border. But if you do something like a forest, you
> could use a low detailed and high detailed version of the single trees
> depending on the distance to the camera.
You're right.
Is there anyone that could help me with a macro to do this? I'll also be
needing it for other scenes so the basic principle would be to replace low
detail objects with detailed objects when they are within a certain radius.
Thanks
Gerhard aka Nekar
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nekar Xenos <vir### [at] icon co za> wrote:
> Is there anyone that could help me with a macro to do this? I'll also be
> needing it for other scenes so the basic principle would be to replace low
> detail objects with detailed objects when they are within a certain
radius.
This shouldn't be difficult to do, using the camera position and the vlength
() function. Begin by declaring a Tree object (with the full detail you
want), and a QuickTree object (a simpler version, such as a box with an
image-map created by rendering the full detailed tree with the alpha option
enabled). Then when you place your trees, check each tree's position
against the camera location, e.g.:
#declare camera_location = <-10, 20, -30>;
camera {location camera_location}
#declare R1 = seed(0);
#declare Count = 0; #while (Count < 1000) // 1000 random trees
#declare TreePosition = (<rand(R1), 0, rand(R1)>-0.5)*<2000, 0,
2000>;
#if (vlength(TreePosition - camera_location) < 100)
object {Tree translate TreePosition}
#else
object {QuickTree translate TreePosition}
#end
#declare Count = Count + 1; #end
Any tree closer than 100 units to the camera uses the full details,
otherwise the quick version is used. You could also use the #switch and
#range functions if you wanted more than two levels of detail, or use macros
to create the trees in different ways depending on the distance to the
camera.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thanks. I'll give it a try.
Nekar
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Nekar Xenos wrote:
>
> I'm not sure if I'm posting this in the right place - let me know.
>
> I want to do an animation that I think would be quite difficult to do
> because it would take to long to render. It involves a scene going
> through a forest. I've been thinking it might be plausible in this
> way: If I have a highly detailed scene and a low detail scene and
> merge the two in such a way that only the nearby stuff are rendered in
> detail, the rest of the rendering would be on the low detail scene.
Calculate the distance from the camera to each object. Declare the
object according to that distance (high detail for near, low for far).
If there are no reflective surfaces in the anim, you can also use
some math to figure if the object is in the camera view at all, and
not declare it if it isn't.
Regards,
John
--
ICQ: 46085459
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Fri, 20 Apr 2001 20:46:01 +0200, John VanSickle wrote:
>Calculate the distance from the camera to each object. Declare the
>object according to that distance (high detail for near, low for far).
>
>If there are no reflective surfaces in the anim, you can also use
>some math to figure if the object is in the camera view at all, and
>not declare it if it isn't.
Something that hasn't been mentioned in this discussion is that if you
have certain kinds of refractive or reflective curved surfaces, this
algorithm might give substandard results due to the old "objects in mirror
may be closer than they appear" problem.
--
Ron Parker http://www2.fwi.com/~parkerr/traces.html
My opinions. Mine. Not anyone else's.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Ron Parker wrote:
>
> Something that hasn't been mentioned in this discussion is that if you
> have certain kinds of refractive or reflective curved surfaces, this
> algorithm might give substandard results due to the old "objects in
> mirror may be closer than they appear" problem.
That was my favorite Far Side cartoon...
--
ICQ: 46085459
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |