Tuesday, May 13, 2008

some Renderman



I can translate this to VEX later.
seems i need to know vi or something similar for efficient text editing.
at the moment i have Context which seems ok and has custom features for editing RIB files but not sure about VEX.

from "Renderman for beginners"
1.4 "How a renderer works"

3D scene description
|
object to world to camera transformation
|
clipping, culling, projection
|
raterisation,hidden surface elimination, shading
|
rendered image in frame buffer or stored on disk.

2.3 "How PRMan works" & Reyes algorithm

Rib file is parsed (scanned)
Primitives' bounds are checked to see if
they lie in the cameras frustrum ('vision') -
if not those 3primitives no longer need any calculations
|
primitives are checked to see if they are small enough for dicing
and if not - broken down or diced themselves into smaller chunks / sections
until they are small enough for the Reyes dicing
|
Reyes dicing into micropolygon grids
each primitive that is small enough is diced into a grid of micro-polygons
It is these micropolys that get shaded and eventually contribute to the
final pixel colors
|
shade at grid verts
|
bust the grid into individual micropolygons
|
each micropolygon is tested for bounds
incase a displacement shader has moved the position of the micropoly
|
each micropoly is then sampled at pre-determined sub-pixel locations
(There number of sub-pixel locations is set up as a control in the RIB file
or in the interface in the case of Mantra)
and a 'visible point list' is made with the Z depth values
|
the point list is then spatially blended and collapsed into a final pixel colour and opacity using filtering to weight between several samples for that pixel.
Some filtering algorithms you may have seen are:
Catmul-Rom
Linear
Blackmann
Hanning
etc
|
Finally - the array of pixels is sent to a display buffer or saved to disk.

1 comment:

Unknown said...

Keep it up. Look forward for more.

:)


jordan.