forked from appleseedhq/appleseed
-
Notifications
You must be signed in to change notification settings - Fork 0
Configurations
François Beaune edited this page Jan 27, 2014
·
3 revisions
The rendering pipeline in appleseed is very modular, and components can be mixed and matched to achieve a particular pipeline.
There are six main components:
- The frame renderer takes care of rendering a whole frame. Typical 'final mode" frame renderers delegate the actual rendering of tiles to a tile renderer. Typical "interactive mode" frame renderers delegate the rendering of pixel samples to a sample renderer, and the choice of which samples to generate next to a sample generator.
- The tile renderer takes care of rendering a given tile of a frame. Most useful tile renderers delegate the actual rendering of pixels inside the tile to a pixel renderer.
- The pixel renderer takes care of rendering a single pixel. It usually does so by assembling a number of pixel samples, with those being computed by a sample renderer.
- The sample renderer takes care of computing a single sample (in image space). A sample is the basic indivisible unit, it roughly corresponds to a single path. It invokes surface shaders and environment shaders and perform alpha compositing between them.
- As stated above, the sole purpose of the sample generator is to choose which samples to compute next in interactive/progressive rendering.
- The lighting engine is responsible for light transport computations. It is used by the physical surface shader which is the entry point to physically-based shading in appleseed.