[BACK] Return to 3d_overview.dxt CVS log [TXT][DIR] Up to Nevrax / code / nel / doc / 3d

File: Nevrax / code / nel / doc / 3d / 3d_overview.dxt (download)
Revision 1.2, Fri Feb 16 08:50:21 2001 UTC (17 months, 1 week ago) by corvazier
Branch: MAIN
CVS Tags: nel_0_4, georges_v2, demo_0_1, HEAD
Changes since 1.1: +29 -29 lines
English daibeug :)

/**
\page 3d_overview NeL 3d pipeline overview

\author Cyril Corvazier


The rendering process is composed of several traversals. Each traversal acts on their models using an observer.
The rendering process is done following this pipeline:

        - Transform animation traversal 
        - Transform traversal
        - Load ballancing traversal
        - View determination and culling traversal
        - Detail animation traversal
        - Lighting traversal
        - Render traversal

\subsection trans_anim transform's animation Traversal 

This traversal must eval the transform's animated value to get the final parent relative world matrix of each model.
We must do this pass to know where each model is.

\subsection trans Transform traversal

This traversal composes each transform's matrix with the parent one to get the final world matrix.
This pass is used to perform hierarchical animation of models.

\subsection balance Load balancing traversal

For each model traversed this traversal evaluates what rendering resources the model requires.
It counts the number of primitives that it needs to have rendered and amount of vram used by their textures.

\subsection cull View determination and culling traversal

This traversal clips models that are not visible. It uses clusters/portals for interiors and a frustrum clipping for exteriors.

\subsection detail_anim Detail animation traversal

This traversal computes the animation for all values not animated in the first pass (transform animation).
Animation is done in 2 passes because the first must be done to get models' world bounding box used in
view determination. The second pass is done only on visible objects.

\subsection lighting Lighting traversal

This traversal computes dynamic lighting for each visible model with non-clipped lights.

\subsection render Render traversal

Render is the most complex traversal. 

        - If the model uses skinning, it will compute bones world matrices. Matrices have been set by second animation pass but they need to be combined with their parents.
        - If the model has an inverse kinematics solver attached, it is evaluated next.
        - If the model supports resource load ballancing, the final count of rendering primitives is ajusted in function of the distance from the camera.
        - The primitives to send to the driver are built.
        - The primitives are rendered by the driver.

*/