#include <GLTraverser.h>
Inheritance diagram for nvtraverser::GLTraverser:
Public Methods | |
NVSG_API | GLTraverser (void) |
Constructor. More... | |
virtual NVSG_API JitterTechnique | getJitterTechnique (void) const |
Get the current jitter technique. More... | |
virtual NVSG_API bool | isJitterTechniqueSupported (JitterTechnique jt) const |
Test on supported jitter techniques. More... | |
virtual NVSG_API bool | setJitterTechnique (JitterTechnique jt) |
Set the jitter technique the render should use. More... | |
virtual NVSG_API RenderTechnique | getRenderTechnique (void) const |
Get the current render technique. More... | |
virtual NVSG_API bool | isRenderTechniqueSupported (RenderTechnique rt) const |
Test on supported render techhniques. More... | |
virtual NVSG_API bool | setRenderTechnique (RenderTechnique rt) |
Set the render technique the render should use. More... | |
virtual NVSG_API TransparencyTechnique | getTransparencyTechnique (void) const |
Get the current transparency technique. More... | |
virtual NVSG_API bool | isTransparencyTechniqueSupported (TransparencyTechnique tt) const |
Test on supported transparency techhniques. More... | |
virtual NVSG_API bool | setTransparencyTechnique (TransparencyTechnique tt) |
Set the transparency technique the render should use. More... | |
virtual NVSG_API OITTechnique | getOITTechnique (void) const |
Get the current OIT (Order Independent Transparency) technique. More... | |
virtual NVSG_API bool | isOITTechniqueSupported (OITTechnique ot) const |
Test on supported OIT techhniques. More... | |
virtual NVSG_API bool | setOITTechnique (OITTechnique ot) |
Set the OIT technique the render should use. More... | |
virtual NVSG_API size_t | getOITMaxPasses (void) const |
Get maximum OIT passes. More... | |
virtual NVSG_API bool | setOITMaxPasses (size_t maxPasses) |
Set the number of maxumum passes to archieve the desired transparency effect. More... | |
virtual NVSG_API float | getOITThreshold (void) const |
Get the current threshold. More... | |
virtual NVSG_API bool | setOITThreshold (float threshold) |
Set the threshold. More... | |
virtual NVSG_API GeometryCacheTechnique | getGeometryCacheTechnique (void) const |
Get the current geoemtry caching technique. More... | |
virtual NVSG_API bool | isGeometryCacheTechniqueSupported (GeometryCacheTechnique gct) const |
Test on supported geometry caching techhniques. More... | |
virtual NVSG_API bool | setGeometryCacheTechnique (GeometryCacheTechnique gct) |
Set the geometry caching technique the render should use. More... | |
virtual NVSG_API void | getTextureSizeLimits (size_t &width, size_t &height) const |
Get the texture size limits. More... | |
virtual NVSG_API void | setTextureSizeLimits (size_t width, size_t height) |
Set the texture size limits. More... | |
virtual NVSG_API void | onReleaseDAL (nvsg::HDAL hDAL) |
Called from the framework immediately before the Device Abstraktion Link (DAL) becomes invalid. More... | |
Protected Methods | |
virtual NVSG_API | ~GLTraverser (void) |
Destructor. More... | |
virtual NVSG_API void | doApply (const nvsg::ViewState *pViewState, const nvsg::Scene *pScene) |
Initiate traversing a given scene graph. More... | |
virtual NVSG_API void | handleTransform (const nvsg::Transform *p) |
Routine to handle a Transform node while traversing the scene graph. More... | |
virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *p) |
Routine to handle a DirectedLight node while traversing the scene graph. More... | |
virtual NVSG_API void | handlePointLight (const nvsg::PointLight *p) |
Routine to handle a PointLight node while traversing the scene graph. More... | |
virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *p) |
Routine to handle a SpotLight node while traversing the scene graph. More... | |
virtual NVSG_API void | handleQuads (const nvsg::Quads *p) |
Routine to handle a Quads object while traversing the scene graph. More... | |
virtual NVSG_API void | handleAnimatedQuads (const nvsg::AnimatedQuads *p) |
Routine to handle a AnimatedQuads object while traversing the scene graph. More... | |
virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p) |
Routine to handle a QuadStrips object while traversing the scene graph. More... | |
virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p) |
Routine to handle a Triangles object while traversing the scene graph. More... | |
virtual NVSG_API void | handleAnimatedTriangles (const nvsg::AnimatedTriangles *p) |
Routine to handle a AnimatedTriangles object while traversing the scene graph. More... | |
virtual NVSG_API void | handleSkinnedTriangles (const nvsg::SkinnedTriangles *p) |
Routine to handle a SkinnedTriangles object while traversing the scene graph. More... | |
virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p) |
Routine to handle a TriStrips object while traversing the scene graph. More... | |
virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p) |
Routine to handle a StateSet object while traversing the scene graph. More... | |
virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p) |
Routine to handle a CgFx attribute while traversing the scene graph. More... | |
virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p) |
Routine to handle a FaceAttribute attribute while traversing the scene graph. More... | |
virtual NVSG_API void | handleMaterial (const nvsg::Material *p) |
Routine to handle a Material attribute while traversing the scene graph. More... | |
virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p) |
Routine to handle a TextureAttribute attribute while traversing the scene graph. More... | |
virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p, size_t tu) |
Routine to handle a TextureAttributeItem object while traversing the scene graph. More... | |
virtual NVSG_API void | handleJitterCamera (const nvsg::JitterCamera *p, const nvsg::Node *root) |
Routine to handle a JitterCamera object while traversing the scene graph. More... | |
virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p, const nvsg::Node *root) |
Routine to handle a ParallelCamera object while traversing the scene graph. More... | |
virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p, const nvsg::Node *root) |
Routine to handle a PerspectiveCamera object while traversing the scene graph. More... | |
virtual NVSG_API void | handleStereoCamera (const nvsg::StereoCamera *p, const nvsg::Node *root) |
Routine to handle a StereoCamera object while traversing the scene graph. More... | |
virtual NVSG_API void | handleHighlightBox (const nvsg::HighlightBox *p, const nvsg::GeoSet *geoSet) |
Routine to handle a HighlightBox object while traversing the scene graph. More... | |
virtual NVSG_API void | handleHighlightEdges (const nvsg::HighlightEdges *p, const nvsg::GeoSet *geoSet) |
Routine to handle a HighlightEdges object while traversing the scene graph. More... | |
virtual NVSG_API bool | preTraverseTransform (const nvsg::Transform *p) |
Handles stuff to do between transform stack adjustment and traversal. More... | |
virtual NVSG_API bool | preTraverseRoot (const nvsg::SimpleCamera *p, const nvsg::Node *root) |
Handles stuff to do just before the scene is traversed. More... | |
virtual NVSG_API bool | preTraverseDrawable (const nvsg::Drawable *p) |
Handles stuff to do just before a Drawable is traversed. More... | |
virtual NVSG_API void | disableLightSource (const nvsg::LightSource *p) |
This function is called from the RenderTraverser framework whenever a LightSource is to be disabled. More... | |
Protected Attributes | |
const nvsg::CgFx * | m_effect |
bool | m_resetStateAttribute |
|
Constructor.
|
|
Destructor.
|
|
Get the current jitter technique.
Implements nvtraverser::RenderTraverser. |
|
Test on supported jitter techniques. Use this method to test if this special jitter technique is currently available.
Implements nvtraverser::RenderTraverser. |
|
Set the jitter technique the render should use.
Implements nvtraverser::RenderTraverser. |
|
Get the current render technique.
Implements nvtraverser::RenderTraverser. |
|
Test on supported render techhniques. Use this technique to test if this special render technique is currently available.
Implements nvtraverser::RenderTraverser. |
|
Set the render technique the render should use.
Implements nvtraverser::RenderTraverser. |
|
Get the current transparency technique.
Implements nvtraverser::RenderTraverser. |
|
Test on supported transparency techhniques. Use this technique to test if this special transparency technique is currently available.
Implements nvtraverser::RenderTraverser. |
|
Set the transparency technique the render should use.
Implements nvtraverser::RenderTraverser. |
|
Get the current OIT (Order Independent Transparency) technique.
Implements nvtraverser::RenderTraverser. |
|
Test on supported OIT techhniques. Use this technique to test if this special OIT technique is currently available.
Implements nvtraverser::RenderTraverser. |
|
Set the OIT technique the render should use.
Implements nvtraverser::RenderTraverser. |
|
Get maximum OIT passes.
Implements nvtraverser::RenderTraverser. |
|
Set the number of maxumum passes to archieve the desired transparency effect.
Implements nvtraverser::RenderTraverser. |
|
Get the current threshold.
Implements nvtraverser::RenderTraverser. |
|
Set the threshold. The thereshold tells the refinement step of the OIT algorithm if it needs another pass or if it is good enough to show the rendered result. The value lies between 0 and 1 (0%-100%). The refinement step compares the percentage of drawn pixels with the threshold and stops if it is smaller than the user defined value.
Implements nvtraverser::RenderTraverser. |
|
Get the current geoemtry caching technique.
Implements nvtraverser::RenderTraverser. |
|
Test on supported geometry caching techhniques.
Implements nvtraverser::RenderTraverser. |
|
Set the geometry caching technique the render should use.
Implements nvtraverser::RenderTraverser. |
|
Get the texture size limits. Textures are downscaled to those limits if they are larger. Implements nvtraverser::RenderTraverser. |
|
Set the texture size limits. Textures are downscaled to those limits if they are larger.
Implements nvtraverser::RenderTraverser. |
|
Called from the framework immediately before the Device Abstraktion Link (DAL) becomes invalid. Called from the framework to inform creators that the DAL identified by hDAL immediately becomes invalid. This is for example the case when the object that host the DAL will be deleted. A concrete DALDataCreator ususally overrides this function to dismiss all temporary stored handles to the DALs that creator has attached DALData to. Note that the creator must not explicitely delete the attached data! The deletetion of the attached data will be performed by the framework, immediately after this function was called. Reimplemented from nvsg::DALDataCreator. |
|
Initiate traversing a given scene graph. This overloadable function is called from the traverser's entry point apply. The base implementation first initiates the traversing of the scene's global states, if available. After that the scene itself is traversed. If an optional ViewState ViewState is passed through viewState, it is applied prior to traversing the scene. Custom traversers may override this function in order to implement initial work to be done before traversing the scene. For derived classes to ensure proper traversing of the scene, it is recommended to always call the base implementation after the initial work has been done. Reimplemented from nvtraverser::Traverser. |
|
Routine to handle a Transform node while traversing the scene graph.
Reimplemented from nvtraverser::ModelViewTraverser. |
|
Routine to handle a DirectedLight node while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a PointLight node while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a SpotLight node while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a Quads object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a AnimatedQuads object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a QuadStrips object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a Triangles object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a AnimatedTriangles object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a SkinnedTriangles object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a TriStrips object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a StateSet object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a CgFx attribute while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a FaceAttribute attribute while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a Material attribute while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a TextureAttribute attribute while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a TextureAttributeItem object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a JitterCamera object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a ParallelCamera object while traversing the scene graph.
Reimplemented from nvtraverser::RenderTraverser. |
|
Routine to handle a PerspectiveCamera object while traversing the scene graph.
Reimplemented from nvtraverser::RenderTraverser. |
|
Routine to handle a StereoCamera object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a HighlightBox object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Routine to handle a HighlightEdges object while traversing the scene graph.
Reimplemented from nvtraverser::Traverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Handles stuff to do between transform stack adjustment and traversal. The model view matrix stack is already adjusted, so we can load it to the GL-engine.
Reimplemented from nvtraverser::ModelViewTraverser. |
|
Handles stuff to do just before the scene is traversed. This initializes the camera related part of the transform stack (after traversal of the headlights). Reimplemented from nvtraverser::ModelViewTraverser. Reimplemented in nvtraverser::OcclusionCullGLTraverser. |
|
Handles stuff to do just before a Drawable is traversed. This tests, if the Drawable is to be drawn regarding the current render states. Reimplemented from nvtraverser::Traverser. |
|
This function is called from the RenderTraverser framework whenever a LightSource is to be disabled.
Implements nvtraverser::RenderTraverser. |