|
|
This test started with the idea of extending the "throwing noise balls" idea to
throwing textures & normals and then had a thought, why not define volumes of
light.
The image shows iso'd CSG objects defining regions of light on a dark grey
plane. The blue is the gradient of the iso'd CSG left as linear. The red and
green be modified in the iso equations to drop of exponentially. Here I twiddled
with the ambient action of the surface - we too could change the diffuse
response. This seems a pretty good trick to get a lot of 'shaped' lights, with
proper falloff, in scene without really having many, or perhaps any, lights.
This image also gives me a way to show the sampling artefacts mentioned in the
ObjectAsIso.inc header that exist in the current implementation. They happen
most in creases and show up as increased gradients / ripples(1). In the image,
the sphere/torus CSG is a single defined object where there are circles of light
on the right hand side of a rings. The merge done "properly" within the
isosurface equation, and the sphere and circle object each its own
'object-function' is shown where we have circles on the left hand side of the
rings.
In practice, I often use the unioned/merged CSG objects straight up as the
artefacts are not that often visible and I let the computer deal with it, but it
does drive up the max gradient and render times when it happens.
(1) - The method picks the closest surface to set the intensity of the object at
a point and because of the sampling, it flows toward one then another CSG
surface when multiple surfaces are closing on each other.
Post a reply to this message
Attachments:
Download 'objectpatchex13.jpg' (44 KB)
Preview of image 'objectpatchex13.jpg'
|
|