Arjo, Where's the chapter about meditation in the RS manual? I need it ;)
What I got so far:
- volume shadows without any form of randomization leads to banding artifacts.
In fact, I noticed that volume sampling of 200 produces pretty clean results,
but that's a bit too much (however: skipping the randomization code makes the
shader faster)
- randomization of the Coordinates (a different channel from Map coords!)
partly reduces banding but introduces grain. The problem is only partly solved
because the Map coords don't match position (Coordinates).
- the Map object takes care of this by re-computing Map coords from the new
randomized position. Turbidity and volume illumination are calculated from
identical positions inside the volume; artifacts are greatly reduced.
In this case, the Random function is used rather than a Noise object: it's
something completely different. Noise is a fractal pattern generator, Random
doesn't have any patterns or scale/frequency.
Nice tiles btw; in your example Noise is obviously the way to go, rather than
Random!
my 2 cts (I doubt it helps... hit me with a hammer if I'm missing the point)
-Mark H
This is what I ment for the randomize coords:
The code...
in the result it slightly randomizes the picture that has been applied to the
object with a parallel mapping object. (I used the floortiles that are in the
texture folder)
I'm proabably completely off track with this approach. I haven't explored
volume shaders much so far. So maybe it's better to start doing that first and
then it might get clear by itself.
The thing I don't understand is what you mean with "position". What position
are you referring to?
Arjo.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Vesa Meskanen
Sent: maandag 12 maart 2007 17:47
To: [email protected]
Subject: Re: groundfog test project
Hi,
> I think I understand it. But if I understand it right then I don't
> understand why you don't put the randomization before the turbity object.
It is just a matter of the order of the computations. When you randomize
the position, you need to compute the new map coords value from the new
position. It was earlier done by the material map object (parallel, sphere or
whatever map - the material should actually be independent of that). When the
position changes, how can you re-evaluate Map coords again ? How does the VSL
code know what kind of parent mapping was applied (what type, what size etc?).
The answer is: using the Map vsl object, which re-evaluates the parent mapping.
> Ray tracer: render engine computes position
> Material mapping: Parallel map computes Map coords from
position
> Material:
> randomize map coords **** how ?????
> Position changes by randomization
> Turbidity is computed from randomized Map coords
I highlighted the important row above. How can you randomize the map coords
channel so that it's randomization matches the randomization oif the position.
Maybe you Map coords randomization goes to negative x axis direction, but
position goes to +x axis direction! I repeat: Map coords depends on the size,
orientation and type of the parent mapping, and VSL code normally does not know
these.
Map object takes care of such details:)
Best regards,
Vesa
<<attachment: code.jpg>>
